CREATE TABLE plano_aula_mensal (
    -- Chave Primária
    id INT AUTO_INCREMENT PRIMARY KEY,

    -- Chave Estrangeira: Referência ao Professor/Usuário
    usuario_id INT NOT NULL COMMENT 'ID do Professor (referência à tabela usuarios)',

    -- Campos de Período
    ano YEAR(4) NOT NULL,
    trimestre TINYINT NOT NULL COMMENT '1, 2, 3 ou 4',
    mes TINYINT NOT NULL COMMENT 'Mês do plano de aula (1 a 12)',

    -- Conteúdo do Plano
    conteudo_previsto TEXT NOT NULL COMMENT 'Detalhes do plano de aula para o mês',
    
    -- Metadados
    status VARCHAR(50) DEFAULT 'Em elaboração' COMMENT 'Estado do plano (Ex: Em elaboração, Submetido, Aprovado)',
    data_registro TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

    -- Índice para otimização de busca
    INDEX idx_usuario_periodo (usuario_id, ano, trimestre, mes),
    
    -- Restrição de Chave Estrangeira (se a sua tabela 'usuarios' usar id como chave primária)
    -- Se o seu campo 'id' na tabela 'usuarios' for UNSIGNED, adicione 'UNSIGNED' ao tipo INT acima.
    FOREIGN KEY (usuario_id) REFERENCES usuarios(id) ON DELETE CASCADE ON UPDATE CASCADE
    
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Sugestão de Comentário para o Banco de Dados
-- COMMENT 'Armazena os planos de aula mensais submetidos pelos professores.';